iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 24
0
Modern Web

Chrome extension 學習手札系列 第 24

Chrome extension 學習手札 24 - 腳本實作 - 臺鐵時刻表查詢系統 - part 6

  • 分享至 

  • xImage
  •  

話說,這個系統我使用了以後,覺得還是不夠好用,覺得每次開啟以後

資料都要一直重複填寫

這樣的UX體驗似乎不夠好,所以今天來做個『歷史記錄』

首先是右上角放一個清單按鈕

首先依舊是切版面,並且搭配hover與click完成點擊效果

html

<table>
    <thead>
        <tr>
            <th>類型</th>
            <th>日期</th>
            <th>內容</th>
        </tr>
    </thead>
    <tbody>
        <tr v-for="item in historyList" v-if="item" class="app-tr--hover" @click="useHistory(item)">
            <td>{{ item | formatType }}</td>
            <td>{{ item.rideDate }}</td>
            <td>{{ item | formatContent }}</td>
        </tr>
    </tbody>
</table>

使用vue fliters做資料變化

filters:{
    formatType(value){
        switch(value.type){
            case 'time':
                return '依時刻'
            case 'station':
                return '依車站'
            case 'trainno':
                return '依車次'
        }
    },
    formatContent(value){
        switch(value.type){
            case 'time':
                return `${value.startStation} -> ${value.endStation}`
            case 'station':
                return value.singleStation
            case 'trainno':
                return value.trainno
        }
    }
},

先看看畫面的結果

綁定帶入事件,因為使用vue所以非常容易完成,把資料帶入就可以切換頁面了

methods:{
    useHistory(history){
        switch(history.type){
            case 'time':
                this.searchForm.startStation = history.startStation
                this.searchForm.endStation = history.endStation
                this.searchForm.isTransfer = history.isTransfer
                this.searchForm.startTime = history.startTime
                this.searchForm.endTime = history.endTime
                this.searchForm.timeType = history.timeType
                this.searchForm.checkType = history.checkType
                break
            case 'station':
                this.searchForm.singleStation = history.singleStation
                break
            case 'trainno':
                this.searchForm.trainNo = history.trainNo
                break
        }
        this.searchForm.rideDate = history.rideDate
        this.currentPage = history.type
    }
}

明天再用後台腳本以及storage完成功能囉,大家晚安


上一篇
Chrome extension 學習手札 23 - 腳本實作 - 臺鐵時刻表查詢系統 - 整理優化
下一篇
Chrome extension 學習手札 25 - 腳本實作 - 台鐵時刻表查詢系統 - part 7
系列文
Chrome extension 學習手札30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言